package com.zkyc.framework.website.service;

import com.zkyc.framework.common.pojo.Website;
import com.zkyc.framework.common.vo.ResultVO;
import com.zkyc.framework.common.vo.website.WebsitePageVo;
import com.zkyc.framework.website.vo.UrlAndRightVo;

import java.io.IOException;

/**
 * (Website)表服务接口
 *
 * @author libingchuan
 * @since 2022-05-23 16:22:10
 */
public interface WebsiteService {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    Website queryById(Integer id);

    /**
     * 查询所有站点
     *
     * @return 查询结果
     */
    ResultVO queryList();

    /**
     * 分页查询
     *
     * @return 查询结果
     */
    ResultVO queryByPage(WebsitePageVo websitePageVo);

    /**
     * 新增数据
     *
     * @param website 实例对象
     * @return 实例对象
     */
    ResultVO save(Website website) throws Exception;

    /**
     * 修改数据
     *
     * @param website 实例对象
     * @return 实例对象
     */
    ResultVO update(Website website);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    ResultVO deleteById(Integer id);

    ResultVO queryUrlList();

    void insertViews(Integer webSiteId);

    ResultVO forbiddenWebsite(Integer websiteId,Integer type);

    ResultVO getWebsiteIdByUrl(String url);

    ResultVO queryLink();

    ResultVO queryTalent();

    ResultVO setUrlAndRight(UrlAndRightVo urlAndRightVo);

    ResultVO webChangeGray(Integer websiteId, Integer changeGray);

    ResultVO saveRightByTemplateId(String  websiteUrl, Integer templateId);

    ResultVO deploy(Website website);
}
